Systems and methods of generating context specification for contextualized searches and content delivery

ABSTRACT

Systems and methods described herein may generate campaigns and efficiently calculate bids for placement of campaign data into Internet data. Embodiments may calculate context scores for campaign data based on campaign terms and beacon terms. The context scores may be used to identify Internet content that has a high page score. If the page score of particular Internet content exceeds a predetermined threshold, the system may place a bid for a campaign based on disclosed algorithms taking as inputs performance scores, context scores, page scores, campaign budgets, and other parameters. The systems therefore are capable of quickly and effectively calculating optimal bids to place for a particular campaign given parameters disclosed herein.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. application Ser. No.17/172,689, filed Feb. 10, 2021, which claims priority to U.S.Provisional Application No. 62/978,746, filed Feb. 19, 2020, each ofwhich is incorporated by reference in its entirety.

TECHNICAL FIELD

This application relates generally to systems and methods for generatingcontextual search parameters and delivering high-context content acrossa distributed network. More specifically, it relates to allowing contentproviders to efficiently identify contextually relevant contentpublishers and distributors for particular content.

BACKGROUND

Prior art systems allow for connecting content from content campaignswith content distributors based on a set of keywords using keywordtargeting. For example, a search engine may sell ads to appear whensearch requests contain specified keywords. This basic method provides arelatively poor experience in which content to be distributed is oftenirrelevant to the search. For example, a content generator wanting todistribute information related to apple pies and bakeries may want tosearch for and publish their content on websites based on the keyword“apple,” yet the content could be inadvertently placed on technology orbusiness websites discussing the tech company of the same name, Apple®,because such sites will also contain the “apple” keyword.

A second method for specifying contexts in which to place advertisementsis through some pre-established categorization related to the content tobe distributed, such as Interactive Advertising Bureau (IAB) categories.In this method, publishers and content providers classify their domainsor articles in pre-defined IAB categories. A content generator (e.g.,advertiser) then selects the categories with which the content generatorwould like to collocate their content. However, with this method, thecontent generators are limited to selecting from only those predefinedcategories, and there are competing incentives between contentgenerators and content publishers/providers, such that contentpublishers/providers may want to place their articles or other materialin as many or as few categories as possible, which can overly-limit oroversaturate the delivery of the collocated content belonging to thecontent generator. Other than specifying large lists of keywords, orselecting an IAB category, there is no known way of specifying thecontext in which content (e.g., advertisements) of the contentgenerators should appear. In addition, there is no known way toefficiently deliver such content to a specified context, once thatcontext is specified by the content generator.

What is therefore needed is a more effective and efficient means forspecifying a context in which content should appear and efficientlydelivering content to contextually relevant web sites for collocationand presentation.

SUMMARY

The systems and methods disclosed herein are intended to address theshortcomings in the art mentioned above, but may also provide additionalor alternative benefits as well. As described herein, the systems andmethods may use context terms to improve correlation between campaigncontent with Internet content. These systems and methods allow anadvertiser to specify the context in which they would like theiradvertisements to appear and to deliver the advertisements to siteshaving that context.

The improved systems and methods disclosed herein include one or moremachine-learning techniques and algorithms that perform a complexalgorithm to preprocess a very large number (e.g., thousands, millions)of pieces of Internet content, such as websites, videos, or audio files,to determine the best opportunities for a campaign to bid on to provideimpressions. Context terms or campaign terms may be keywords or phrases,or other means of identifying content, such as digital fingerprints ofaudio or visual files. For example, an image of a hurricane could have adigital fingerprint known to be a hurricane, and could be assigned thekeyword “hurricane.” Campaign content may include advertisements, suchas sales of consumer electronics and magazine subscriptions, orpromotional material, such as a political campaign or a call to action.Current systems are unable to connect efficiently and effectively alarge number of campaign content with Internet content. Internet contentincludes online videos, news articles, blog posts, real-time videofeeds, online forums, social networks, online magazines, games, mobilesoftware applications, or Internet of Things (JOT) appliances, such assmart displays, that display content. Much of this Internet content maybe produced in real time, such as new videos, blog posts, articles, orforum content, and the computerized systems and methods of thisapplication are able to connect such real-time impression opportunitieswith campaigns. The improved systems and methods disclosed in thisapplication allow for higher relevance and better results by storinginformation in databases that may provide real time decision makingbetween campaigns and placement adjacent to Internet content. Theimproved match between the advertisements and the context in which theyappear are likely to result in higher performance of the advertisingcampaigns.

In an embodiment, a computer-implemented method comprises applying, by acomputer, a machine-learning model to a first set of context termsreceived from a client device to output a set of beacon terms from acorpus database, wherein the machine-learning model is trained on aplurality of corpus terms stored in the corpus database to determine aplurality of co-occurrence probabilities corresponding to the pluralityof corpus terms; calculating, by the computer, a plurality of pagescores for a plurality of corpus webpages stored in the corpus databasebased upon the set of beacon terms and the first set of context terms;identifying, by the computer, in the plurality of corpus webpages a setof contextual webpages having page scores satisfying a threshold;applying, by the computer, the machine-learning model to the first setof context terms and a second set of context terms received from theclient device to output an updated set of beacon terms; calculating, bythe computer, one or more updated page scores for one or more corpuswebpages stored in the corpus database based upon the updated set ofbeacon terms, the first set of context terms, and the second set ofcontext terms; updating, by the computer, the set of contextual webpagesbased upon the one or more updated page scores; and storing into acampaign database, by the computer, campaign data of a user comprisingthe set of updated set of beacon terms and the set of contextualwebpages, the campaign data configured for executing a real-time biddingselection operation for one or more available webpages during thereal-time bidding selection operation.

In another embodiment, a system comprising a corpus database comprisingnon-transitory storage medium configured to store at least a portion ofa plurality of Internet content data corresponding to a uniform resourcelocator (URL) and page context score; a campaign database comprisingnon-transitory storage medium configured to store campaign data for aplurality of users, the campaign data configured for executing areal-time bid-ding selection operation for one or more availablewebpages during the real-time bidding selection operation; and a servercomprising a processor configured to: apply a machine-learning model toa first set of context terms received from a client device to output aset of beacon terms from a corpus database, wherein the machine-learningmodel is trained on a plurality of corpus terms stored in the corpusdatabase to determine a plurality of co-occurrence probabilitiescorresponding to the plurality of corpus terms; calculate a plurality ofpage scores for a plurality of corpus webpages stored in the corpusdatabase based upon the set of beacon terms and the first set of contextterms; identify in the plurality of corpus webpages a set of contextualwebpages having page scores satisfying a threshold; apply themachine-learning model to the first set of context terms and a secondset of context terms received from the client device to output anupdated set of beacon terms; calculate one or more updated page scoresfor one or more corpus webpages stored in the corpus database based uponthe updated set of beacon terms, the first set of context terms, and thesecond set of context terms; update the set of contextual webpages basedupon the one or more updated page scores; and store, into the campaigndatabase, campaign data of a user comprising the set of beacon terms andthe set of contextual webpages, the campaign data configured forexecuting a real-time bidding selection operation for one or moreavailable webpages during the real-time bidding selection operation.

In another embodiment, A computer readable medium containingmachine-executable program instructions, wherein execution of theprogram instructions by one or more processors of a computer systemcauses the one or more processors to execute the steps of: applying amachine-learning model to a first set of context terms received from aclient device to output a set of beacon terms from a corpus database,wherein the machine-learning model is trained on a plurality of corpusterms stored in the corpus database to determine a plurality ofco-occurrence probabilities corresponding to the plurality of corpusterms; calculating a plurality of page scores for a plurality of corpuswebpages stored in the corpus database based upon the set of beaconterms and the first set of context terms; identifying in the pluralityof corpus webpages a set of contextual webpages having page scoressatisfying a threshold; applying the machine-learning model to the firstset of context terms and a second set of context terms received from theclient device to output an updated set of beacon terms; calculating oneor more updated page scores for one or more corpus webpages stored inthe corpus database based upon the updated set of beacon terms, thefirst set of context terms, and the second set of context terms;updating the set of contextual webpages based upon the one or moreupdated page scores; and storing, into a campaign database, campaigndata of a user comprising the set of beacon terms and the set ofcontextual webpages, the campaign data configured for executing areal-time bidding selection operation for one or more available webpagesduring the real-time bidding se-lection operation.

Both the foregoing general description and the following detaileddescription are examples and explanatory and are intended to providefurther explanation of the invention as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings constitute a part of this specification andillustrate an embodiment of the invention and together with thespecification, explain the invention.

FIG. 1 illustrates components of a distributed computer system fordelivery of content, according to an embodiment.

FIG. 2 illustrates a flow chart for generating a corpus of documentsrecent Internet content that may place content.

FIG. 3 illustrates a flow chart for identifying the context of acampaign and correlating the campaign content with third-party Internetcontent.

FIG. 4 illustrates a flow chart of a method in accordance to oneembodiment.

FIGS. 5-8 show example webpages allowing users to manage and updatecontext-building operations of the system, according to an embodiment.

DETAILED DESCRIPTION

Reference will now be made to various embodiments illustrated in thedrawings, and specific language will be used here to describe the same.It will nevertheless be understood that no limitation of the scope ofthe claims or this disclosure is thereby intended. Alterations andfurther modifications of the inventive features illustrated herein, andadditional applications of the principles of the subject matterillustrated herein, which would occur to one skilled in the relevant artand having possession of this disclosure, are to be considered withinthe scope of the subject matter disclosed herein. The present disclosureis here described in detail with reference to embodiments illustrated inthe drawings, which form a part here. Other embodiments may be usedand/or other changes may be made without departing from the spirit orscope of the present disclosure. The illustrative embodiments describedin the detailed description are not meant to be limiting of the subjectmatter presented here.

It should be appreciated that embodiments described herein are merelyillustrative for the purposes of exemplifying the technology, technicalcomponents, and processes disclosed herein. In particular, the variousembodiments described herein contemplate an advertising and real-timebidding (RTB) implementation of the disclosed technology and features.However, some embodiments may implement aspects of the disclosedtechnology for other purposes or circumstances, such as building anddeploying search queries in real-time data retrieval and archiving orfor querying digitized data libraries.

FIG. 1 shows components of a distributed computer system 100 fordelivery of campaign content for display with Internet content,according to one embodiment. The illustrated system 100 may comprise aweb server 101, databases 105, 106, 107, an administrator device 109,distributed clients 111, third-party content servers 113, and a realtime bidding (RTB) server 114. Embodiments may comprise additional oralternative components or omit certain components from those of FIG. 1 ,and still fall within the scope of this disclosure. Certain componentsof the system 100 may be embodied in multiple computing devices. Forinstance, the webserver 101 (or other servers) is shown as a singlecomputing device but may include any number of computing devices.Additionally or alternatively, certain components may be integrated andembodied in the same computing device. For instance, the corpus database105 may be hosted on the same computing device as the webserver 101.

The webserver 101 executes software programming to crawl third-partycontent servers 113 to extract and download various types of webpagedata, including content and metadata. The webserver 101 associates thecontent with specific context terms, such as keywords or beacon terms.The webpage data or content may include, for example, metadata,fingerprints for media of the webpage, webpage or server identifiers,content tags, or content containing or associated with such contextterms. The webserver 101 may identify fingerprints of, for example,known images or video content that is pre-correlated with the contextterms. As an example, Internet content on third-party content server 113could contain known images of maps, and webserver 101 may associate thatcontent with maps generally, or specific maps depending on the images,e.g., Asia or North America. As such, the webserver 101 may latercorrelate campaign content with the map content if relevant to eachother by having a context score over a predetermined threshold, asexplained further below.

The webserver 101 may also host a website accessible to end-users, suchas those at distributed clients 111. The website may allow the users todefine and execute a campaign according to embodiments of thisdisclosure. For example, the webserver 101 may correlate the campaigncontent as a function of the various Internet content. The webserver 101may be any computing device comprising a processor and non-transitorymachine-readable storage capable of executing the various tasks andprocesses described herein. Non-limiting examples of such computingdevices may include workstation computers, laptop computers, servercomputers, laptop computers, and the like. While the example system 100includes a single webserver 101, some embodiments of the webserver 101may include any number of computing devices operating in a distributedcomputing environment.

The web server 101 may execute software applications configured to hosta web site (e.g., Apache®, Microsoft IIS®), which may generate and servevarious webpages to client devices 111. The client-facing website may beused to generate and access data stored on system databases 105, 106,107 of the system 100, or execute various instructions from clientdevices 111, an administrator device 109, or another device of thesystem 100. In some implementations, the webserver 101 may be configuredto require user authentication based upon a set of user authorizationcredentials (e.g., username, password, biometrics, cryptographiccertificate). In such implementations, the webserver 101 may accesssystem databases 105, 106, 107 configured to store user credentials,which the webserver 101 may be configured to reference to determinewhether a set of entered credentials (purportedly authenticating theuser) match an appropriate set of credentials that identify andauthenticate the user. Similarly, in some implementations, the webserver101 may generate and transmit software code for webpages to a clientdevice 111 based upon a user role within the system 100 (e.g.,administrator, campaign content provider, or Internet content provider).

In operation, the webserver 101 (or other computing device of the system100) executes software programming for training and deploying one ormore machine-learning models and related machine-learning algorithms.The machine-learning operations may include any processor-executedmachine-learning techniques and algorithms, such as various types ofneural networks (e.g., convolutional neural networks (CNNs), deep neuralnetworks (DNNs)), linear regression, logistic regression, k-means,k-nearest neighbors (kNN), or support vector machines (SVMs), amongothers. The crawler program executed by the webserver 101 automaticallytraverses any number of URLs and downloads the webpage data (e.g.,content, metadata) for the webpage. The webserver 101 stores some or allof the webpage data into a corpus database 105. The web server 101trains the machine-learning model on the corpus of webpage data toidentify and generate various statistical associations between terms,phrases, metadata, or other information indicating the nature or contextof each particular webpage. The machine-learning model determinesco-occurrences and other statistical contextual data for various typesof webpage data in the corpus database 105. For instance, the webserver101 can apply any number of natural language processing andvectorization machine-learning algorithms on the content or metadata ofwebpages to generate feature vectors for various corpus terms in orderto extract embeddings representing various statistical measures of thecorpus terms. These similar algorithms can be applied to inputtedcontext terms (e.g., in-context terms, out-of-context terms) to extractembeddings for the user's context terms, which the webserver 101 can useto determine a distance from the corpus terms and generate a contextscore for each of the user's context terms based on the distances. Userfeedback and/or additional context terms can be ingested to adjustembeddings, and/or adjust various algorithmic weights. The webserver 101may execute additional or alternative natural language processing andvectorization machine-learning algorithms on corpus webpages forgenerating page scores, which represent, for example, the number ofinstances that certain beacon terms (e.g., terms extracted from thecorpus database having a short distance from the user's in-contextterms) occur in webpage content and/or in-context terms occur in thewebpage content.

Once trained, the machine-learning model is prepared to ingest a set ofterms/phrases from end-users building a contextualized campaign orquery. The web server 101 receives the set terms/phrases from a clientdevice 111 and applies the trained machine-learning model on the set ofinput terms. The machine-learning model determines the co-occurrenceprobabilities (and/or other statistical measures) that the input termsco-occur with the corpus terms. The machine-learning model then outputsthe corpus terms/phrases having probabilities satisfying a co-occurrencethreshold. The webserver 101 may then present these terms/phrases to theend-user via a GUI, such as a webpage presented on a browser of a clientdevice 111.

The end-user can send feedback or other instructions to the webserver101, which the webserver 101 can use to further train and develop themachine-learning model for the particular end-user. The webserver 101receives the feedback from the end-user indicating whether a particularterm should be given more or less weight (e.g., in-context,out-of-context). The webserver 101 then re-applies the trainedmachine-learning model on each set of input terms received from theclient device 111, adjusting the scored weights assigned to terms inaccordance with the user feedback. When the machine-learning model istrained and tuned for the end-user's context, the webserver 101 thenapplies the machine-learning model on a bid stream of URLs for availablewebpages received from a RTB server 114, as further detailed in FIGS.2-4 . In some embodiments, these machine-learning operations areexecuted for training and executing a machine-learning model foridentifying contextual webpages relative to context terms produced basedon the input terms.

The system databases 105, 106, 107 may be hosted on computing devicescomprising a non-transitory machine-readable storage medium and capableof performing the various tasks described herein. As shown in FIG. 1 ,the system databases 105, 106, 107 may be accessed by a webserver 101via one or more networks. The system databases 105, 106, 107 may behosted on the same physical computing device functioning as a webserver101 and/or serving additional or alternative functions (e.g.,application server, authentication server). The system 100 may includeany number of public and/or private networks with various hardware andsoftware components configured to interconnect components of the system100 and host data communications. Non-limiting examples of such networksmay include: Local Area Network (LAN), Wireless Local Area Network(WLAN), Metropolitan Area Network (MAN), Wide Area Network (WAN), andthe Internet. The communication over the network may be performed inaccordance with various communication protocols, such as TransmissionControl Protocol and Internet Protocol (TCP/IP), User Datagram Protocol(UDP), and IEEE communication protocols.

A corpus database 105 stores webpages and related metadata. The corpusdatabase 105 may be continually updated by the crawler software programexecuted by the webserver 101 or other device at a given interval. Insome cases, the corpus database 105 may be updated during or afterbid-time, where the webserver 101 or other device detects a previouslyunseen uniform resource locator (URL) and triggers the crawler routineto scrape the webpage at that URL and store the webpage and relatedmetadata into the corpus database 105. Each URL or webpage may be storedwith a timestamp, URL, and content tag for later processes. Thewebserver 101 may access and query the data records in the corpusdatabase 105 when executing various processes, as described herein, forbuilding a contextualized search for a content generator end-user.

A context database 106 stores end-user specific information related tothe contextualized search, after the end-user has constructed thecontextualized search. For instance, the webserver 101 stores contextbeacon phrase scores (or other data values) into the context database106 after being calculated or generated by the webserver 101. Atbid-time, the webserver 101 accesses the data records for the end-userto determine how to compete for certain URLs published by the RTB server114. In some implementations, the data records may be moved from a harddisk of the context database 106 to memory of the webserver 101 toimprove access speed.

A cache database 107 stores frequently requested webpages and relatedmetadata, which the webserver 101 accesses at bid-time to determine howto compete for certain URLs. The data records of the webpages stored inthe cache database 107 may be “content-only” versions, having variousforms of media, third-party content, or other non-content related dataremoved. The data records for the webpages may also include an indicatorof beacon phrases and frequency scores of the beacon phrases on thewebpages. The cache database 107 is generated by software routines thatpull and convert certain webpages stored in the corpus database 105 intocontent-only versions that are then stored into the cache database 107.For instance, when the RTB server 114 publishes a URL a certain numberof times, or when the URL has never been seen before, the softwareroutine loads that URL into a queue for pre-processing conversion andstorage into the cache database 107, thereby allowing the URL to bequickly accessible to the webserver 111 for executing various processesdescribed herein at some later bid-time.

The administrator device 109 executes various software programmingallowing an administrator-user to maintain, improve, and webserver 101.The administrative device may be any computing device comprisinghardware (e.g., processor, non-transitory storage media) and softwarecomponents and capable of performing the various tasks and processesdescribed herein. In operation, the administrator device 109 maymanually (according to user inputs) or automatically (according to userconfigurations) initiate an operation to build a corpus of webpage dataor documents for use in a future campaign, as illustrated in FIG. 2 .The administrator may also configure the administrator device 109 toexecute various tasks that aid the administrator with maintainingquality control. For instance, the administrator may review associationsof the corpus webpage data or documents and the context terms to ensureproper correlation. This process may also occur via programmatic meansin certain embodiments of this disclosure.

The RTB server 114 may be one or more computing devices of an RTB systemthat hosts a webportal, or other web-based external service, thatpublishes and manages competitions among content generators to competefor opportunities to deliver content on various webpage URLs. In someembodiments, the RTB server 114 transmits or otherwise publishes the URLof a particular webpage that is received by the webserver 101. Thecontent generators (e.g., end-users), using client devices 111, generatea contextual specification that informs the webserver 101 which URLs areof interest for the content generators. The webserver 101 thenautomatically initiates transactions with the RTB server 114 for thoseURLs that have a higher-contextual relevance to a content generator,based on the contextual specification of that particular contentgenerator. The content is then forwarded to a third-party server 113hosting the URL for publication and display over the Internet.

It should be appreciated that, although the RTB server 114 in theexample embodiments herein is associated with an advertising-centric RTBservice, the RTB service is merely illustrative and non-limiting. Otherembodiments may involve any third-party external web-service thatpublishes information (e.g., API service) and instructions (e.g., APIrequests) for executing various tasks described herein. Likewise, an APIservice (e.g., bidstream) may be any remote data publication servicethat generates and publishes data to subscribing computing devices fordata consumption and executing processes associated with the APIservice. An API request (e.g., bid request) may includecomputer-implemented instructions to execute one or more processesassociated with the API service, such as gathering and responding withrequested data or generating a GUI to display data that is beingpublished.

In the example embodiments, a bidstream is a data stream of publishedURLs available for bids to content generators interested in placingcampaign content at those URLs; and a bid request may be thecomputer-implemented instructions to the computer to display and/ordistribute those URLs and gather bid inputs corresponding to thepublished URLs, which thereby trigger the computer to execute variousprocesses described herein to generate and submit the inputted data tothe API service via the API request.

FIG. 2 shows a flowchart of execution steps for a webserver to build acorpus of documents (e.g., webpages) for placement of future campaigncontent, according to an example method 200 embodiment. Although themethod 200 is described with respect to a single computing device and asingle database, it should be appreciated that any number computingdevices may be involved in other embodiments, including additional oralternative computing devices from the webserver and corpus database. Itshould also be appreciated that certain embodiments may provide foradditional or alternative steps, or omit certain steps, from the stepsof the method 200, and still fall within the scope of this disclosure.

In step 201, a computer (e.g., web server 101) hosting a web serverapplication identifies an API service (e.g., bidstream) associated witha real-time bidding (RTB) system to invoke and access. Using theselected API, the computer receives and transmits API requests (e.g.,bid requests) to and from an RTB server and/or client computers. Asmentioned, an API service may be any remote data publication, query,and/or archiving executable service that generates and publishes data tosubscribing computing devices, which consume the published data andexecute various processes associated with the API service. An APIrequest may include computer-implemented instructions to execute one ormore processes associated with the API service, such as gathering andresponding with requested data or generating a GUI to display data thatis being published.

In the method 200, a bidstream is a data stream of published URLsavailable for bids to content generators interested in placing campaigncontent at those URLs; and a bid request may be the computer-implementedinstructions to the computer to display and/or distribute those URLs andgather bid inputs corresponding to the published URLs, therebytriggering the computer to execute various tasks described herein.

In step 202, the computer samples webpages associated with bid-requests,by scraping the webpages located at the URLs published in the bidstream.This Internet-centric approach allows for efficient scraping andidentification of keywords, beacon terms, or fingerprints associatedwith the third-party content to generate future scores associated withcampaign content.

In step 203, the scraping algorithm may create individual corpussnapshots for each URL, comprising various types of webpage data for thewebpages corresponding to the URLs. In step 204, the webserver storesthe individual corpus snapshots into a corpus database (e.g., corpusdatabase 105). One having skill in the art will appreciate that theremay be one or more computer-implemented techniques to capture or scrapethe content of webpages and store the content into the corpus database.In some implementations, the content may be updated according to crawlersoftware routines that programmatically traverse URLs or webpages anddownload the content of webpages according to algorithm logic of thecrawler software. And in some implementations, the corpus database maybe updated by a computing device of the system using data capturedduring a live bidding process, where webpages to be updated or URLs tosuch webpages may be received from a bidding system via a bidstream.

FIG. 3 shows a flowchart of execution steps for identifying the contextof a campaign and correlating the campaign content with third-partyInternet content, according to an example method 300 embodiment.Although the method 300 is described with respect certain computingdevices and databases, it should be appreciated that any numbercomputing devices may be involved in other embodiments, includingadditional or alternative computing devices from computing devices anddatabases mentioned herein. It should also be appreciated that certainembodiments may provide for additional or alternative steps, or omitcertain steps, from the steps of the method 300, and still fall withinthe scope of this disclosure.

In a first step 301, a computer hosts a website that receives inputsfrom a client computer of an end-user (e.g., content generator) fordefining a new content delivery campaign or for updating a previouslygenerated campaign. The inputs may include input phrases, which may bein-context phrases and/or out-of-context phrases, where each phrase maycomprise any number of words. This step 301 may include identifyingspecific beacon phrases associated with the campaign, which are phrasescontextually related to the input phrases that are automaticallyidentified based on the input phrases. The system may receive in-contextterms that the user has indicated are within the context of the desiredsearch. The inputs may typically include keywords (one or more words)entered by the user, such is the case in the method 300. But in someimplementations, the inputs from a user may include website URLs, orfingerprints for media (e.g., audio, visual, audiovisual) content havinga high context correlated with the campaign content.

Users often want to place their campaign content in a specific context.For example, an insurance company that may find that its campaignsperform best when placed next to an article primarily about bad andstormy weather. As another example, a backpack company may want to placetheir campaign content on pages that have to do with adventure travel.Contextualizing, as used herein, is a process of placing campaigncontent in third-party Internet content that has relevant context. Asone example, inputs for the context, or in-context words or phrases, ofa campaign may include “winter storm,” “icy conditions,” and “floodwarning.”

Inputs received from the user, in current step 301 or in later steps mayalso specify out-of-context terms (as further described below), whichare terms that are out of context with the campaign. Based on thealgorithmic scores discussed herein for the input phrases (e.g.,in-context phrases, out-of-context phrases), the computer determines orupdates a list of identified beacon phrases contextually relevant to theuser's campaign.

The system calculates and assigns context scores to particular terms,such as making the word “heat” more important than the word “hurricane.”In some implementations, the system may calculate and assign contextscores for out-of-context terms to make these out-of-context terms moreor less important. The context scores may be decimal numbers, and may beassigned automatically or based on user preferences. In somecircumstances, system may apply a default context score, or manuallyassign context scores that are the same for similar terms. For example,the terms “heat” and “hot” could receive the same context score.

Based on the in-context and out-of-context terms received from the user,the algorithm of step 302 may calculate context scores for content inthe corpus database 105 based on probabilistic implications, wordco-occurrences, and context scores. The algorithm of step 302 may usethose context scores to find high context websites. As shown in FIG. 5 ,a webpage 500 of the web site hosted by the computer includes inputsallowing the user to input a set of context phrases. The webpage 500includes input boxes allowing the user to input in-context andout-of-context phrases.

Referring back to FIG. 3 , the algorithm of step 302 computes wordprobabilities, word co-occurrence counts, and word-to-word probabilisticimplications using the input phrases. The system may determine campaigncontext scores for terms such as, phrases, keywords, or fingerprints,based on probabilistic implications and word co-occurrences. The systemuses those scores to generate context scores for webpages to identifyhigh-context websites. In step 302, the system queries the corpusdatabase 105 to determine word probabilities, word co-occurrence counts,and/or word-to-word probabilistic implications, to identify beaconphrases that are relevant to the campaign. Based on such queries to thecorpus database 105, the computer may generate beacon phrases and pagecontext scores, and, in some implementations, may retrieve URLs andother electronic content that has a high context score.

Continuing with the weather and adventure travel examples, the resultsof step 302 could be as follows:

In the weather example—in which a user entered “winter storm,” “icyconditions,” and “flood warning,” as in-context phrases—the computeruses these in-context phrases to query the pre-stored webpage content inthe corpus database 105, to compute beacon phrases based on the corpuscontent. In this example, the computer returns the following beaconphrases: “weather service,” “national weather,” “nws,” “storm warning,”“snowfall,” “sleet,” “coastal flood,” and “wind gusts.”

In the adventure travel example—in which the user entered “flight,”“adventure,” “travel,” and “hotel,” as in-context phrases—the computeruses these in-context phrases to query the pre-stored webpage content inthe corpus database 105, to compute beacon phrases based on the corpuscontent. In this example, the computer returns the following beaconphrases: “skyscann,” “airfare,” “layover,” “booking.com,” “rebook,”“hostel,” “expedia,” “tsa precheck,” “icelandair,” “carryon,”“itinerary,” and “Ryanair.”

In step 304, the computer identifies high-context webpages based on thebeacon phrases and the input phrases, and then generates a user feedbackdisplay that displays to the user the resulting URLs having ahigh-context to the campaign.

For instance, in the weather example, after the computer has queried thecorpus database 105, and calculated the beacon phrases, the phrasescores, and the page context scores, the computer returns, via a userfeedback display, the following list of URLs of webpages calculated ashaving a high context score:

-   -   https://www.mlive.com/weather/2018/01/heres_a_snowfall_tally_on_mich.html    -   https://www.chicagotribune.com/news/breaking/ct-first-snowfall-chicago-2016-htmlstory.html    -   https://www.masslive.com/weather/2016/11/these_are_the_10_snowiest_citi.html    -   https://www.express.co.uk/showbiz/tv-radio/1151582/snowfall-season-3-how-many-episodes-are-in-snowfall-fx-series-damson-idris    -   https://www.express.co.uk/showbiz/tv-radio/1151561/Snowfall-season-3-cast-Who-is-in-the-cast-of-Snowfall-FX-series-Damson-Idris    -   https://www.theactivetimes.com/snow/n/14-cities-get-most-snowfall    -   https://www.tripsavvy.com/does-it-ever-snow-in-memphis-2321876    -   https://www.denverpost.com/2019/09/08/colorado-weather-september-snowfall-denver/amp/    -   https://www.mlive.com/weather/2018/05/and_the_winner_of_michigans_wi.html    -   https://minecraft.gamepedia.com/snowfall    -   https://seat42f.com/tv-review-snowfall.html    -   https://www.denverpost.com/2019/05/04/colorado-weather-front-range-late-season-snow    -   https://www.denverpost.com/2019/05/10/denver-weather-below-average-snowfall

Likewise, in the adventure travel example, after the computer hasqueried the corpus database 105, and calculated the beacon phrases, thephrase scores, and the page context scores, the computer returns, via auser feedback display, the following list of URLs of webpages calculatedas having a high context score:

-   -   https://www.annees-de-pelerinage.com/the-best-hotels-in-machu-picchu-for-any-budget    -   https://www.drinkteatravel.com/train-to-machu-picchu-tickets/    -   https://www.forbes.com/sites/geoffwhitmore/2018/04/03/how-to-book-aer-lingus-award-flights-to-ireland-for-cheap    -   https://traveltips.usatoday.com/closest-airport-machu-picchu-109221.html    -   http://www.travelfuntu.com/insider-info/airports-that-offer-free-city-tours    -   https://www.whereverwriter.com/15-things-machu-picchu    -   https://traveltips.usatoday.com/closest-airport-machu-picchu-109221.html    -   https://www.thebrokebackpacker.com/best-hostels-in-cinque-terre-italy/    -   https://www.thebrokebackpacker.com/best-hostels-in-koh-lanta-thailand/    -   https://travel-made-simple.com/layover-long-enough/

When the user is presented with the user feedback display containing theresulting campaign contextualization results (e.g., beacon phrases, URLsfor high-context webpages, scores), the user may refine the campaignthrough the webportal. The user's refinement feedback is entered to thecomputer, via a GUI on the client device of the user, allowing a userto, for example, select or deselect, or otherwise enter inputsindicating, in-context phrases (high score context phrases), beaconphrases identified by the computer, or out-of-context phrases (low scorecontext phrases). The user's GUI may also include inputs for selectingor deselecting, or otherwise entering inputs indicating, website URLswith high or low context scores, respectively.

With reference to FIG. 6 , the webpage 600 displays contextual phrasesidentified based upon the user inputs (shown in FIG. 5 ) and relevantURLs for contextual webpages identified by the computer based upon theuser's earlier inputs.

As illustrated by FIG. 3 , the contextualizing campaign-buildingprocesses may be iterative. In particular, through iterations of priorsteps 301-304, the user may refine and confirm aspects of thecontextualized campaign data, including a set of in-context phrases, aset of beacon phrases, a set of out-of-context phrases, a set of URLs ofhigh-context webpages, and the various computed scores, which togetherdefine the contextualized search parameters the user would like todeploy for the user's content delivery campaign. In some cases, theremay be a predetermined number of iterations; and in some cases, a usercan iterate until the user is satisfied. The finalized campaign data maybe stored into a context database 106 (sometimes referred to as a“campaign database”).

For instance, in the weather example, the user may refine the campaignby entering out-of-context phrases. In this example, the user may decidethat heat advisories and hurricanes are not relevant forms of extremeweather conditions, so the user may enter “heat,” “heat advisory,” and“hurricane,” as out-of-context phrases. The computer again queries thecorpus database 105 using the user-selected input phrases to generaterevised context beacon phrases and high-context webpages. In thisexample, the computer produces the following updated list of contextbeacon phrases: “snowfall,” “snowstorm,” “wintry,” “icy,” “snowcover,”“snow,” “snowy,” “caltran,” spotter,” and “commute.” The computerfurther produces and displays to the user, the following updated list ofURLs:

-   -   https://www.mlive.com/weather/2018/01/heres_a_snowfall_tally_on_mich.html    -   https://www.chicagotribune.com/news/breaking/ct-first-snowfall-chicago-2016-htmlstory.html    -   https://www.masslive.com/weather/2016/11/these_are_the_10_snowiest_citi.html    -   https://www.express.co.uk/showbiz/tv-radio/1151582/snowfall-season-3-how-many-episodes-are-in-snowfall-fx-series-damson-idris    -   https://www.express.co.uk/showbiz/tv-radio/1151561/Snowfall-season-3-cast-Who-is-in-the-cast-of-Snowfall-FX-series-Damson-Idris    -   https://www.theactivetimes.com/snow/n/14-cities-get-most-snowfall    -   https://www.tripsavvy.com/does-it-ever-snow-in-memphis-2321876    -   https://www.denverpost.com/2019/09/08/colorado-weather-september-snowfall-denver/amp/    -   https://www.mlive.com/weather/2018/05/and_the_winner_of_michigans_wi.html    -   https://minecraft.gamepedia.com/snowfall    -   https://seat42f.com/tv-review-snowfall.html    -   https://www.denverpost.com/2019/05/04/colorado-weather-front-range-late-season-snow    -   https://www.denverpost.com/2019/05/10/denver-weather-b el        ow-average-snowfall

In the travel example, the user may also refine the campaign by enteringout-of-context phrases. In this example, the user may decide that TSAprecheck and airline websites are irrelevant, so the user may enter “TSAPrecheck,” “Precheck,” “TSA,” “airline,” and “airline hub,” asout-of-context phrases. The computer again queries the corpus database105 using the user-selected input phrases to generate revised contextbeacon phrases and high-context webpages. In this example, the computerproduces the following updated list of context beacon phrases:“skyscann,” “airfare,” “layover,” “booking.com,” “rebook,” “hostel,”“expedia,” “icelandair,” “carryon,” “itinerary,” and “ryanair.” Thecomputer further produces and displays to the user, the followingupdated list of URLs:

-   -   https://www.annees-de-pelerinage.com/the-best-hotels-in-machu-picchu-for-any-budget    -   https://www.drinkteatravel.com/train-to-machu-picchu-tickets/    -   https://www.forbes.com/sites/geoffwhitmore/2018/04/03/how-to-book-aer-lingus-award-flights-to-ireland-for-cheap    -   https://traveltips.usatoday.com/closest-airport-machu-picchu-109221.html    -   http://www.travelfuntu.com/insider-info/airports-that-offer-free-city-tours    -   https://www.whereverwriter.com/15-things-machu-picchu    -   https://traveltips.usatoday.com/closest-airport-machu-picchu-109221.html    -   https://traveltips.usatoday.com/closest-airport-machu-picchu-109221.html    -   https://www.thebrokebackpacker.com/best-hostels-in-cinque-terre-italy/    -   https://www.thebrokebackpacker.com/best-hostels-in-koh-lanta-thailand/    -   https://www.thebrokebackpacker.com/best-hostels-in-koh-lanta-thailand    -   https://travel-made-simple.com/layover-long-enough/

The user may indicate, via a GUI, that the iterative campaigncontextualization building process is complete. In response, thecomputer is instructed to store finalized campaign data (e.g.,in-context terms, beacon terms, scores, high-context page URLs) into thecontext database 106. In some implementations, the prior iterative steps301-304 may be implemented again later by the user, even after acampaign is begun or otherwise deployed, to further improve or refinethe campaign contextualization. Therefore, in such implementations,storing the campaign data into the context database 106 does not meanthe campaign is immutable.

With reference to FIG. 7 , the webpage 700 displays the input boxesagain, allowing the user another opportunity to update/refine thecontextual phrases and contextual webpages. The computer displays thewebpage 700 in response to the computer receiving instructions from theclient device, via the GUI display, to perform another iteration forgenerating contextual phrases and contextual webpages. In FIG. 8 , thewebpage 800 updates and displays the contextual phrases identified bythe computer based upon the updated user inputs (shown in FIG. 8 ) andrelevant URLs for contextual webpages identified by the computer basedupon the user's earlier inputs.

In some embodiments, a computing device (e.g., the computer hosting thewebsite) generates context data based upon the user inputs and feedbackreceived from a client device, where the context data is displayed theuser on the GUI (e.g., browser, webpage) of the client device. Theadditional information about a specified context (e.g., context data)includes, for example but not limited to, the scores calculated basedupon the user inputs, the terms identified based upon the user inputs,the fraction of webpages with a positive context score or a list ofwebpages at a particular context score range. The computer (or othercomputing device) generates the context data for various aspects of theuser's campaign, terms/phrases, webpages (e.g., contextual webpages,corpus webpages, cached webpages), and/or other aspects of the system.The context data for each webpage may include any statisticalinformation that is extracted or calculated by the computer at any pointof the method 300, or before, during, or after the method 300. Thecomputer updates data records of the various databases of the systemaccording to calculated or re-calculated context data.

Referring back to FIG. 3 , in optional step 305, certain content storedin the corpus database 105 may be stored into a cache database 107. Thecontent stored into the cache database 107 can include the mostfrequently requested webpages (or other data content) that are thesubject of competitions, as such information (e.g., number of requests)is determined by the computer or received from the RTB server. Byminimizing the volume of data in the cache database 107, the computercan more efficiently execute processes executed at bid-time, such as thefollowing steps 306-309. The content to be stored into the cachedatabase 107 may be selected automatically or manually by, for example,an administrator selection entered as a configuration into the computerdirectly or from an administrator computing device. For instance, thecomputer may select a certain webpage when the webpage has beenrequested some threshold number of times from the RTB at bid-time;and/or the computer may automatically select the webpage or content whensuch webpage is not in the cache database 107. To further improvecomputer efficiency when executing bid-time processes, a webpage may beconverted or otherwise stripped of unnecessary data when the webpage isstored in the cache database 107. It should be appreciated that optionalstep 305 may be performed before, during, or after the method 300.

In step 306, at bid-time the computer receives a bidstream of bidrequests from a server of the RTB service, initiating the user's contentdelivery campaign. The bidstream contains one or more URLs of webpagesfor which content generators, such as the user in the process 300,compete to host their content. In the following steps 307-309, thecomputer executes automated processes, based on the users'contextualized campaign data, to compete on behalf of the user anddeliver the users' content to the third-party servers hosting thedesirable URLs.

In step 307, using the same or similar algorithm as in prior step 302(e.g., a fast, linear, vector product computation between a campaign'scontext score and term occurrence on pages) and using the campaign data(e.g., in-context phrases, out-of-context phrases, beacon phrases)stored in the context database 106, the computer calculates beaconphrase scores and page context scores for the webpages that have beenpublished in the bidstream by the RTB. The computer matches the URLs (ofavailable webpages) published in the bidstream with URLs in the cachedatabase 107 to quickly calculate webpage context scores of theavailable webpages and identify which webpages having the highestcontext scores, signaling those webpages most contextually relevant tothe user's campaign data.

In current step 307, by executing the same or similar algorithm thatgenerated a beacon phrase score (as in prior steps 307-309), thecomputer may compute page scores for the webpage URLs published by theRTB, and a context score for each of the context phrases on a particularwebpage; where the computation of the context scores may includecalculating the probabilities of word co-occurrence, geometric means,and expected numbers of occurrences versus actual occurrences. A“context beacon phrase scores” may be computed based on, at least inpart, the probabilistic implications, geometric means, and co-occurrencecounts of the phrases of the user's campaign data across webpages of thecache database 107 or otherwise published by the RTB service. A “contextscore” of a particular webpage may be computed based on, at least inpart, the number of times beacon phrases and/or in-context phrases occuron webpage, fractions of instances that each word appears on thewebpage, and the beacon phrase score of the beacon phrases. In someimplementations, the computer computes the context scores for webpagesquickly in real-time at bid-time, whereas the computer computes thecontext beacon phrase scores may be more computationally intensive (andslower) before bid-time when the campaign is deployed for competition.The result of current step 307 is that the computer produces a webpagescore for a particular webpages stored in the cache database 107. Thewebpages may be “ordered” by their webpage context score.

Based on the user's input phrases and beacon phrases, the ultimatelycalculated webpage scores target specific keywords or demographics, andtherefore the webpage scores may be customized per campaign. In somecases, webpage scores may be grouped for use with specific verticals,such as automotive, insurance, consumer electronics, toys, healthcare,and government, among others. These grouped webpage scores can be reusedfor similar campaigns.

In step 308, the computer bids, on behalf of the user, on the top X % ofavailable webpage URLs or otherwise having a webpage score above apredetermined threshold score. The threshold percentage could bepredetermined by the user, an administrator, or automatically by analgorithm that intends to spend the whole budget (highest percentagethat spends the budget). The computer may generate a GUI displaying theend-user those webpages having high context scores, and where thecomputer delivers their content for publication. The computer mayimplement any number of additional or alternative bid-volume thresholdsto control or cap the number (volume) of bids submitted.

Campaigns typically have specified budgets, and the campaign length andbudget may determine the value of X % (or other condition acting as thebid-volume threshold). In step 309, the system bids on only the contextpages that meet the bid threshold requirements. The algorithm mayautomatically select the percentile to spend the budget on mostin-context pages, but the X % value may also be manually predetermined.As such, when the system receives a request for bids, it may read thepage scores for the Internet content associated with the bid request,and determine whether the page scores for that Internet content exceedsthe percentile X % for each campaign (or other priority ordercondition). If the page score exceeds the bid threshold, the system maybid on placing campaign content on the Internet content.

Sometimes there may be a conflict between two campaigns on the systembidding for the same placement. In these situations, the system may usedifferent approaches. In one embodiment, the system may use around-robin arbitration method, giving each campaign an opportunity tobid on the placement. In another embodiment, the bid amount may varydepending on the delta between the page score and the X % for eachcampaign. The campaign that fits the placement best will win.Embodiments also include a hybrid approach. For example, if a campaign Ais winning bids much more frequently than campaign B, then campaign Bcould be given an opportunity to win a bid after a predetermined numberof winning bids for campaign A. For example, campaign B will make ahigher bid after campaign A wins 9 bids. Other embodiments includebasing the bid price on some other aspect of the bid-request/campaigncombination, for example a prediction of the click-through rate, andselecting the campaign with the greatest bid price.

In addition to the page score, the computer (or other computing deviceof the system) in some embodiments, receives or calculates a performancescore that defines the likelihood that a placement of campaign contentwill be viewed or clicked-through or engaged with. A click-through raterepresents the number or rate/ratio that a user clicked on the campaigncontent, whereas engagement may be determined by other means, such aswhether a user scrolled through content, viewed content for apredetermined time (e.g., 15 seconds), clicked on anything in thecampaign content, or viewed predetermined portions of the campaigncontent, such as additional audio or video content. The computer orother device of the system is configured to track this information usingvarious cookies or other programming of third-party host servers and/orreceive this information as tracked from the bid server or third-partyhost servers. The computer or other device of the system may thereforecompute a performance score for a bid request before making a bid. Thecomputer transmits bids when the performance score satisfies apre-configured threshold performance score. The performance score may bea measure of the level of interest a viewer of the Internet content willhave in the campaign content, and then, in some cases, the system maybid high or low for that bid request based on the performance score. Forinstance, the higher the performance score, the higher the system couldbe willing to bid on it, and the lower the performance score, the lowerthe system could be willing to bid on the page. As such, the high-bid orlow-bid value determination may function as a varied performance scorethresholds. The system may also consider many other factors about thebid request; for example, the time of the request, the location of theserver the bid request came from, the IP address of the bid requester,the bid requester's past performance scores and payments, the likelihoodthat the bid requester will accept the bid, the terms of payment for thebid, and the like.

FIG. 4 illustrates a method 400 in accordance with one embodiment. Step401 includes receiving a first set of terms from a client device, thefirst set comprising one or more in-context terms. Embodiments may alsoallow for receiving out-of-context terms at this step. The methodfurther comprises at step 402, calculating a plurality of context scoresbased on the first set of terms. The context scores may represent theimportance or lack of importance of particular terms relative to otherterms. At step 403, the method may identify a set beacon terms in acorpus database based on the context score, each beacon term having acontext score above a predetermined threshold. The beacon terms may berelated to the terms received in step 401. The method may furtherinclude step 404, during which the method may calculate a plurality ofpage scores from preprocessed pages stored in the corpus database. Thepage scores, as described previously, determine the importance of aparticular piece of Internet content for a campaign based on context andpage scores. Step 404 includes identifying in the corpus database a setof contextual webpages having page scores satisfying a threshold. Aspreviously describe, this may be a series of URLs that the systemidentified as having particular relevance. Next, in step 405, the methodmay transmit data to display at the client device the set of beaconterms and the set of contextual webpages. A user at the client devicemay assess whether the set of contextual webpages are accurate. If not,in step 405, the system may receive a second set of context terms fromthe client device, the second set comprising one or more out-of-contextterms. The system may re-calculate the page score based on the first setof context terms and the second set of context terms, thereby generatingan updated page score, as illustrated in step 406. Based on thisre-calculation, step 407 may update the set of beacon terms and the setof contextual webpages based on the updated page score. Step 408 mayinclude storing the set of contextual webpages and a set of campaignterms into a campaign database (sometimes referred to as a “contextdatabase”), the set of campaign terms comprising each in-context phraseand each beacon term.

The foregoing method descriptions and the process flow diagrams areprovided merely as illustrative examples and are not intended to requireor imply that the steps of the various embodiments must be performed inthe order presented. The steps in the foregoing embodiments may beperformed in any order. Words such as “then,” “next,” etc. are notintended to limit the order of the steps; these words are simply used toguide the reader through the description of the methods. Althoughprocess flow diagrams may describe the operations as a sequentialprocess, many of the operations may be performed in parallel orconcurrently. In addition, the order of the operations may bere-arranged. A process may correspond to a method, a function, aprocedure, a subroutine, a subprogram, and the like. When a processcorresponds to a function, the process termination may correspond to areturn of the function to a calling function or a main function.

The various illustrative logical blocks, modules, circuits, andalgorithm steps described in connection with the embodiments disclosedherein may be implemented as electronic hardware, computer software, orcombinations of both. To clearly illustrate this interchangeability ofhardware and software, various illustrative components, blocks, modules,circuits, and steps have been described above generally in terms oftheir functionality. Whether such functionality is implemented ashardware or software depends upon the particular application and designconstraints imposed on the overall system. Skilled artisans mayimplement the described functionality in varying ways for eachparticular application, but such implementation decisions should not beinterpreted as causing a departure from the scope of this disclosure orthe claims.

Embodiments implemented in computer software may be implemented insoftware, firmware, middleware, microcode, hardware descriptionlanguages, or any combination thereof. A code segment ormachine-executable instructions may represent a procedure, a function, asubprogram, a program, a routine, a subroutine, a module, a softwarepackage, a class, or any combination of instructions, data structures,or program statements. A code segment may be coupled to another codesegment or a hardware circuit by passing and/or receiving information,data, arguments, parameters, or memory contents. Information, arguments,parameters, data, etc. may be passed, forwarded, or transmitted via anysuitable means including memory sharing, message passing, token passing,network transmission, etc.

The actual software code or specialized control hardware used toimplement these systems and methods is not limiting of the claimedfeatures or this disclosure. Thus, the operation and behavior of thesystems and methods were described without reference to the specificsoftware code being understood that software and control hardware may bedesigned to implement the systems and methods based on the descriptionherein.

When implemented in software, the functions may be stored as one or moreinstructions or code on a non-transitory computer-readable orprocessor-readable storage medium. The steps of a method or algorithmdisclosed herein may be embodied in a processor-executable softwaremodule, which may reside on a computer-readable or processor-readablestorage medium. A non-transitory computer-readable or processor-readablemedia includes both computer storage media and tangible storage mediathat facilitate transfer of a computer program from one place toanother. A non-transitory processor-readable storage media may be anyavailable media that may be accessed by a computer. By way of example,and not limitation, such non-transitory processor-readable media maycomprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage,magnetic disk storage or other magnetic storage devices, or any othertangible storage medium that may be used to store desired program codein the form of instructions or data structures and that may be accessedby a computer or processor. Disk and disc, as used herein, includecompact disc (CD), laser disc, optical disc, digital versatile disc(DVD), floppy disk, and Blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above should also be included within the scope ofcomputer-readable media. Additionally, the operations of a method oralgorithm may reside as one or any combination or set of codes and/orinstructions on a non-transitory processor-readable medium and/orcomputer-readable medium, which may be incorporated into a computerprogram product.

The preceding description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the embodimentsdescribed herein and variations thereof. Various modifications to theseembodiments will be readily apparent to those skilled in the art, andthe generic principles defined herein may be applied to otherembodiments without departing from the spirit or scope of the subjectmatter disclosed herein. Thus, the present disclosure is not intended tobe limited to the embodiments shown herein but is to be accorded thewidest scope consistent with the following claims and the principles andnovel features disclosed herein.

While various aspects and embodiments have been disclosed, other aspectsand embodiments are contemplated. The various aspects and embodimentsdisclosed are for purposes of illustration and are not intended to belimiting, with the true scope and spirit being indicated by thefollowing claims.

What is claimed is:
 1. A computer-implemented method comprising: priorto a future bid-time: receiving, by a computer, a first set of one ormore context terms from a client device via a user interface; selecting,by the computer, from a plurality of corpus terms stored in a corpusdatabase one or more beacon terms using the first set of one or morecontext terms, each corpus term selected for the one or more beaconterms has a co-occurrence probability with one or more context terms ofthe first set of one or more context terms that satisfies a thresholdprobability; presenting, by the computer, the one or more beacon termsselected using the first set of one or more context terms to a user viathe user interface of the client device; receiving, by the computer, asecond set of one or more context terms from the client device via theuser interface for updating the first set of one or more context terms;selecting, by the computer, one or more updated beacon terms from theplurality of corpus terms based upon one of the first set of one or morecontext terms or the second set of one or more context terms;calculating, by the computer, a plurality of page scores for a pluralityof corpus webpages stored in the corpus database, each page score for acorpus webpage calculated based upon an amount of occurrences of one ofthe one or more updated beacon terms, the first set of one or morecontext terms, or the second set of one or more context terms; andgenerating, by the computer in a campaign database, campaign data of theuser comprising the one or more updated beacon terms and one or morecontextual webpages selected from the plurality of corpus webpagessatisfying a threshold page score, the campaign data configured foridentifying one or more placement webpages at the future bid-time. 2.The method according to claim 1, further comprising storing, by thecomputer into the campaign database, the campaign data, wherein thecampaign data is configured for executing a real-time bidding selectionoperation for one or more available webpages during the real-timebidding selection operation.
 3. The method according to claim 1, furthercomprising: generating, by the computer, context data for the one ormore contextual webpages based upon one or more user inputs receivedfrom the client device via the user interface; and transmitting, by thecomputer, the context data to the client device for display at the userinterface.
 4. The method according to claim 1, further comprising, foreach corpus term of the plurality of corpus terms, determining, by thecomputer, the co-occurrence probability for the corpus term indicating aprobability that the corpus term co-occurs with the one or more contextterms of the first set of one or more context terms.
 5. The methodaccording to claim 1, wherein selecting the one or more beacon termsusing the first set of one or more context terms includes: applying, bythe computer, a machine-learning model to the first set of context termsto extract one or more embeddings for the first set of context terms,wherein the one or more beacon terms comprises each corpus term in thecorpus database having a feature vector satisfying a threshold distancefrom the one or more embeddings for the first set of context terms. 6.The method according to claim 5, further comprising calculating, by thecomputer, a context score for each context term in the first set ofcontext terms based upon at least one of: a word probability, a wordco-occurrence count, and a word-to-word probabilistic implication,wherein the embedding of each context term of the first set of contextterms is based upon the context score for the context term.
 7. Themethod according to claim 6, further comprising: for each context termof the first set of context terms, setting, by the computer, the contextscore as a default score; and adjusting, by the computer, the contextscore for at least one context term of the first set of context terms inaccordance with one or more user inputs received from the client devicevia the user interface.
 8. The method according to claim 1, wherein thefirst set of context terms comprises at least one out-of-context term.9. The method according to claim 1, further comprising: receiving, bythe computer, from a bid server an availability list of one or moreavailable webpages requesting bids from a bid system; and calculating,by the computer, a real-time page score for each available webpage inthe availability list based, at least in part, upon a number ofoccurrences of one or more campaign terms comprising the one or moreupdated beacon terms and one or more in-context terms in the availablewebpage.
 10. The method according to claim 9, further comprisingidentifying, by the computer, a bidding-list of webpages comprising eachof the one or more available webpages of the availability listsatisfying a bid threshold.
 11. A system comprising: a corpus databasecomprising non-transitory storage medium configured to a plurality ofcorpus terms; and a server comprising a processor configured to: priorto a future bid-time: receive a first set of one or more context termsfrom a client device via a user interface; select from the plurality ofcorpus terms stored in the corpus database one or more beacon termsusing the first set of one or more context terms, each corpus termselected for the one or more beacon terms has a co-occurrenceprobability with one or more context terms of the first set of one ormore context terms that satisfies a threshold probability; present theone or more beacon terms selected using the first set of one or morecontext terms to a user via the user interface of the client device;receive a second set of one or more context terms from the client devicevia the user interface for updating the first set of one or more contextterms; select one or more updated beacon terms from the plurality ofcorpus terms based upon one of the first set of one or more contextterms or the second set of one or more context terms; calculate aplurality of page scores for a plurality of corpus webpages stored inthe corpus database, each page score for a corpus webpage calculatedbased upon an amount of occurrences of the one or more updated beaconterms, the first set of one or more context terms, or the second set ofone or more context terms; and generate, in a campaign database,campaign data of the user comprising the one or more updated beaconterms and one or more contextual webpages selected from the plurality ofcorpus webpages satisfying a threshold page score, the campaign dataconfigured for identifying one or more placement webpages at the futurebid-time.
 12. The system according to claim 11, wherein the server isfurther configured to store, into the campaign database, the campaigndata, wherein the campaign data is configured for executing a real-timebidding selection operation for one or more available webpages duringthe real-time bidding selection operation.
 13. The system according toclaim 11, wherein the server is further configured to: generate contextdata for the one or more contextual webpages based upon one or more userinputs received from the client device via the user interface; andtransmit the context data to the client device for display at the userinterface.
 14. The system according to claim 11, wherein the server isfurther configured to, for each corpus term of the plurality of corpusterms, determine the co-occurrence probability for the corpus termindicating a probability that the corpus term co-occurs with the one ormore context terms of the first set of one or more context terms. 15.The system according to claim 11, wherein when selecting the one or morebeacon terms using the first set of one or more context terms includes,the server is further configured to: apply a machine-learning model tothe first set of context terms to extract one or more embeddings for thefirst set of context terms, wherein the one or more beacon termscomprises each corpus term in the corpus database having a featurevector satisfying a threshold distance from the one or more embeddingsfor the first set of context terms.
 16. The system according to claim15, wherein the server is further configured to calculate a contextscore for each context term in the first set of context terms based uponat least one of: a word probability, a word co-occurrence count, and aword-to-word probabilistic implication, wherein the embedding of eachcontext term of the first set of context terms is based upon the contextscore for the context term.
 17. The system according to claim 16,wherein the server is further configured to: for each context term ofthe first set of context terms, set the context score as a defaultscore; and adjust the context score for at least one context term of thefirst set of context terms in accordance with one or more user inputsreceived from the client device via the user interface.
 18. The systemaccording to claim 11, wherein the first set of context terms comprisesat least one out-of-context term.
 19. The system according to claim 11,wherein the server is further configured to: receive from a bid serveran availability list of one or more available webpages requesting bidsfrom a bid system; and calculate a real-time page score for eachavailable webpage in the availability list based, at least in part, upona number of occurrences of one or more campaign terms comprising the oneor more updated beacon terms and one or more in-context terms in theavailable webpage.
 20. The system according to claim 19, wherein theserver is further configured to identify a bidding-list of webpagescomprising each of the one or more available webpages of theavailability list satisfying a bid threshold.